# 文本进度条-完整展示
# TextProBarV3.py
import time

scale = 50  # 进度条长度
progress_width = scale  # 进度条（包括*和.）的总宽度
time_width = 8  # 时间显示的宽度，可以根据需要调整

# 第一行：居中打印开始信息
print("程序232开始".center(progress_width + time_width + 6, "-"))

start = time.perf_counter()  # 记录开始时间

for i in range(scale + 1):
    a = '*' * i  # 已完成的进度部分
    b = '.' * (scale - i)  # 未完成的进度部分
    c = (i / scale) * 100  # 计算百分比
    dur = time.perf_counter() - start  # 计算已过去的时间

    # 第二行：格式化并打印进度条信息
    # 确保进度条、百分比和时间部分的对齐
    progress_bar = f"\r{c:>5.1f}% [{a}{b:<{scale - len(a)}}] {dur:{time_width}.2f}s"
    print(progress_bar, end="")
    time.sleep(0.1)  # 暂停一段时间以模拟进度

# 第三行：居中打印结束信息
# print("\n" + "-" * (progress_width + time_width + 6))
print()
print("执行结束".center(progress_width + time_width + 6, "-"))